package com.csce.domain.entity.basic.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.osce.common.annotation.Excel;
import com.osce.common.core.entity.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 耗材出库对象 tab_asset_out_order
 *
 * @author hdj
 * @since 2025-11-16
 */
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
@ToString
@EqualsAndHashCode(callSuper = true)
public class TabAssetOutOrderDTO extends BaseEntity {

private static final long serialVersionUID=1L;

    /** 订单号 */
    @ApiModelProperty("${comment}")
    private String id;

    /** 主题 */
            @Excel(name = "主题")
    @ApiModelProperty("主题")
    private String topic;

    /** 出入库时间 */
            @JsonFormat(pattern = "yyyy-MM-dd")
            @Excel(name = "出入库时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("出入库时间")
    private Date handleTime;

    /** 业务类型 */
            @Excel(name = "业务类型")
    @ApiModelProperty("业务类型")
    private Integer businessType;

    /** 合计数量 */
            @Excel(name = "合计数量")
    @ApiModelProperty("合计数量")
    private Long number;

    /** 合计金额 */
            @Excel(name = "合计金额")
    @ApiModelProperty("合计金额")
    private BigDecimal price;

    /** 操作用户（申请） */
            @Excel(name = "操作用户", readConverterExp = "申=请")
    @ApiModelProperty("操作用户")
    private Long userId;

    /** 类型 */
            @Excel(name = "类型")
    @ApiModelProperty("类型")
    private Integer type;

    /** 资产库存id集合 */
            @Excel(name = "资产库存id集合")
    @ApiModelProperty("资产库存id集合")
    private String assetIds;

    /** 资产库存id、数量集合 */
            @Excel(name = "资产库存id、数量集合")
    @ApiModelProperty("资产库存id、数量集合")
    private String assetIdns;

    /** 库管人员 */
            @Excel(name = "库管人员")
    @ApiModelProperty("库管人员")
    private String inventoryKeeper;

    /** 审核状态 0.待审核 -1 驳回  1通过  2.归还 3.确认归还 */
            @Excel(name = "审核状态 0.待审核 -1 驳回  1通过  2.归还 3.确认归还")
    @ApiModelProperty("审核状态 0.待审核 -1 驳回  1通过  2.归还 3.确认归还")
    private Integer audit;

        }
